//
// Created by Starry on 2024/1/9.
//

#ifndef ZYK1_BS_KEY_H
#define ZYK1_BS_KEY_H

#include "sys.h"

#define SDA_H()  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_SET)
#define SDA_L()  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_RESET)

#define SCL_H()  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, GPIO_PIN_SET)
#define SCL_L()  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, GPIO_PIN_RESET)

#define READ_SDA() HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_7)

#define BS8116_ADD 0XA0

void IIC_Pin_Init(void);
void SDA_OUT(void);
void SDA_IN(void);
void IIC_Start(void);
void IIC_Stop(void);
void IIC_Send_ACK(void);
void IIC_Send_NoACK(void);
void IIC_Send_Data(u8 dat);
u8 IIC_Get_ACK(void);
u8 IIC_Read_Data(u8 ack);

void BS8116_Init(void);
u8 BS8116_read(u8 ADD,u8 add);
u8 BS8116_Get_Val(void);
#endif //ZYK1_BS_KEY_H
